package futbolfacil.servlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import junit.framework.Assert;
import futbolfacil.excepcion.DAOExcepcion;
import futbolfacil.modelo.Cliente;
import futbolfacil.negocio.AlmacenNegocio;
import java.util.*;

/**
 * Servlet implementation class RegistrarClienteServlet
 */
@WebServlet("/RegistrarClienteServlet")
public class RegistrarClienteServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public RegistrarClienteServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		RequestDispatcher rd = request.getRequestDispatcher("registrarse.jsp");
		rd.forward(request, response);
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		
		Date fecha = new Date();
		String anho = String.valueOf(fecha.getYear()+1900);
		String mes = String.valueOf(fecha.getMonth()+1);
		String dia = String.valueOf(fecha.getDate());
		String fechaActual = anho + "-" + mes + "-" + dia;
		
		AlmacenNegocio neg = new AlmacenNegocio();		
		Cliente objCliente = new Cliente();
		
		String usuario = request.getParameter("txtUsuario").trim();
		String password = request.getParameter("txtPassword").trim();
		String password2 = request.getParameter("txtPassword2").trim();
		String nombre = request.getParameter("txtNombre").trim();
		String paterno = request.getParameter("txtPaterno").trim();
		String materno = request.getParameter("txtMaterno").trim();
		String razon = request.getParameter("txtRazon").trim();
		String direccion = request.getParameter("txtDireccion").trim();
		String distrito = request.getParameter("txtDistrito").trim();
		String fecNac = request.getParameter("txtFecNacimiento").trim();
		String cboTipDoc = request.getParameter("cboTipDoc").trim();
		String nroDoc = request.getParameter("txtNroDocumento").trim();
		String opcSexo = request.getParameter("opcSexo").trim();
		String telefono = request.getParameter("txtTelefono").trim();
		String correo = request.getParameter("txtCorreo").trim();
		String correo2 = request.getParameter("txtCorreo2").trim();
		
		
		objCliente.setUsuarioUsuario(usuario);
		objCliente.setPasswordUsuario(password);
		objCliente.setPasswordUsuario2(password2);
		objCliente.setNombreUsuario(usuario);
		objCliente.setPaternoUsuario(paterno);
		objCliente.setMaternoUsuario(materno);
		objCliente.setRazonSocial(razon);
		objCliente.setPrivilegioUsuario("3");
		objCliente.setDireccionUsuario(direccion);
		objCliente.setDistritoUsuario(distrito);
		objCliente.setFechaNacUsuario(fecNac);
		objCliente.setTipoDocUsuario(cboTipDoc);
		objCliente.setNumeroDocUsuario(nroDoc);
		objCliente.setSexoUsuario(opcSexo);
		objCliente.setTelefonoUsuario(telefono);
		objCliente.setCorreoUsuario(correo);
		objCliente.setCorreoUsuario2(correo2);
		objCliente.setFechaUsuario(fechaActual);
		objCliente.setEstadoUsuario("1");
		
		//PrintWriter out = response.getWriter();
		//out.println(fechaActual);
		System.out.println(request.getParameter("txtCorreo").trim());
		System.out.println(request.getParameter("txtCorreo2").trim());
		//Act
		try {
			neg.insertarCliente(objCliente);
			request.setAttribute("msg1", "Se registro exitosamente al cliente!");
			request.setAttribute("valor", "false");
		} catch (DAOExcepcion e) {
			//Assert
			request.setAttribute("valor", "true");
			request.setAttribute("msg1", e.getMessage());			
			//CAMPOS
			request.setAttribute("usuario", usuario);
			request.setAttribute("password", password);
			request.setAttribute("password2", password2);
			request.setAttribute("nombre", nombre);
			request.setAttribute("paterno", paterno);
			request.setAttribute("materno", materno);
			request.setAttribute("razon", razon);
			request.setAttribute("direccion", direccion);
			request.setAttribute("distrito", distrito);
			request.setAttribute("fecNac", fecNac);
			request.setAttribute("cboTipDoc", cboTipDoc);
			request.setAttribute("nroDoc", nroDoc);
			request.setAttribute("opcSexo", opcSexo);
			request.setAttribute("telefono", telefono);
			request.setAttribute("correo", correo);
			request.setAttribute("correo2", correo2);
			
		}
		
		RequestDispatcher rd = request.getRequestDispatcher("registrarse.jsp?error=1");
		rd.forward(request, response);
		
	}

}
